#pragma once

// 缓冲模式
#define NONE_FLUSH 1<<0 // 无缓冲
#define LINK_FLUSH 1<<1 // 行缓冲
#define FULL_FLUSH 1<<2 // 满缓冲

#define BUFFER_SIZE 1024

typedef struct MyFile{
    int _fd;  // 文件描述符
    int _flush_stauts; // 缓冲模式
    char _buffer[BUFFER_SIZE]; // 缓冲区大小
    const char* _filename; // 对应的文件名
    int _mod; // 打开文件方式
    int _truesize;
}MyFile;


MyFile* Myfopen(const char* address, const char* mod);

int Myfwrite(const char* msg, int size, int num, MyFile* fp);

void Myflush(MyFile* fp);

void Myfclose(MyFile* fp);

